package com.heatup.apt.common.dao;

import java.util.List;
import java.util.Map;

import com.heatup.apt.model.api.OrderInfoResultModel;
import org.springframework.stereotype.Component;

@Component
public interface OrderInfoResultMapper {
	
	/**
	 * 查询订单关联信息表
	 * @param orderId
	 * @return
	 */
	OrderInfoResultModel selectByOrderId(Integer orderId);
	
	/**
	 * 根据OrderNumber信息查询订单信息
	 * @param orderNumber
	 * @return
	 */
	OrderInfoResultModel selectByOrderNumber(String  orderNumber);
	
	/**
	 * 查询同一课程订单中排队的订单列表
	 * @param serviceId
	 * @return
	 */
	List<OrderInfoResultModel> selectWaitOrderByServiceId(Integer serviceId);
	
	/**
	 * 未排队成功需自动取消的团课订单
	 * @return
	 */
	List<OrderInfoResultModel> selectAutoCancelWaitTeamOrder();
	
	
	/**
	 * 查询即将开始订单（团课订单、檬营订单、自助健身订单）
	 * @return
	 */
	List<OrderInfoResultModel> selectUpCommingOrderList();
	
	/**
	 * 模板消息发送日志
	 * @param map
	 * @return
	 */
	public int insertSendTemplateLog(Map<Object,Object> map);
	
	/**
	 * 查询当前订单之前有几个排队订单
	 */
	public int queryBeforeWaitNum(Map<Object,Object> map);

	/**
	 * 查询用户即将开始的团课与自助订单
	 * @param userId
	 * @return
	 */
	OrderInfoResultModel queryUpCommingOrder(Integer userId);
}
